#include "include.h"

_MB_LED_T MB_Led;

//static void MeBsp_Led_Out_Pin(void);

void MeBsp_Led_Init(void)
{
  gpio_init_type gpio_init_struct;
  crm_periph_clock_enable(CRM_IOMUX_PERIPH_CLOCK, TRUE); //复用时钟使能
  /* enable the led clock */
  crm_periph_clock_enable(CRM_GPIOB_PERIPH_CLOCK, TRUE);

  gpio_pin_remap_config(SWJTAG_GMUX_010, TRUE); //禁用JTAG功能使能 SWD 功能, PA15 PB3 PB4用作普通IO
  
  /* set default parameter */
  gpio_default_para_init(&gpio_init_struct);

  /* configure the led gpio */
  gpio_init_struct.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER;
  gpio_init_struct.gpio_out_type  = GPIO_OUTPUT_PUSH_PULL;
  gpio_init_struct.gpio_mode = GPIO_MODE_OUTPUT;
  gpio_init_struct.gpio_pins = GPIO_PINS_3;
  gpio_init_struct.gpio_pull = GPIO_PULL_UP;
  gpio_init(GPIOB, &gpio_init_struct);
  
//  GPIOB->scr = GPIO_PINS_3;
  
  USER_Debug_Out("--Led Init\r\n");
}

//static void MeBsp_Led_Out_Pin(void)
//{

//}

void MeBsp_Led_Hanl(void)
{
  static uint16_t delay_cnt = 0;
  static uint8_t state = 0;
  if ( state != MB_DevComIn.bRecvIsConnFlag ) {
    state = MB_DevComIn.bRecvIsConnFlag;
    delay_cnt = 0;
  }
  if ( MB_DevComIn.bRecvIsConnFlag ) {
    if ( delay_cnt == 0 ) {
      delay_cnt = 100;
      GPIOB->odt ^= GPIO_PINS_3;
    }
    else {
      delay_cnt--;
    }
  }
  else {
    if ( delay_cnt == 0 ) {
      GPIOB->scr = GPIO_PINS_3;
    }
    else if ( delay_cnt == 50 ) {
      GPIOB->clr = GPIO_PINS_3;
    }
    if ( ++delay_cnt >= 2000 ) {
      delay_cnt = 0;
    }
  }

  
}
